1. Field of the Invention
The present invention relates to a mobile instant messaging service system, and more particularly, to a mobile instant messaging service system using a mobile communication terminal.
2. Discussion of the Related Art
In recent years, as the number of Internet users has rapidly risen, various Internet services have been developed and provided to these users. One such Internet service is instant messaging. Instant messaging is an Internet community service that enables users on the Internet to perform real-time character, voice and/or video chatting. In some applications, the instant messaging may be applied to a mobile communication service to enable a mobile instant messaging service.
Referring to FIG. 1, a mobile instant messaging service system in accordance with the prior art is illustrated. The system of FIG. 1 includes an IMPS (instant messaging providing system) server 120 (hereinafter referred to as “server”) that provides a mobile instant messaging service to a plurality of terminal(s) 110. In addition, a MSC (mobile switching center) server 130 performs call handling services such as handling incoming calls, outgoing calls and the like for the terminal(s) 110.
The terminal(s) 110 include an instant messaging (IM) module 111 for message transactions with the IMPS server 120 and a call handling unit 112 for performing call handling through the MSC 130.
In particular, the modules 111 and 112 separately manage and handle instant messaging presence status information and call status information. Hence, there is no association between theses two modules.
Referring now to FIG. 2, an exemplary diagram of presence status information is shown. In FIG. 2, a presence function indicates status information for each user. Current status information for a called party appearing on an instant messenger is mainly divided into an off-line status and an on-line status. The on-line status is further divided into a conversation-enabled status and a busy or empty status.
FIG. 3 illustrates an exemplary flowchart of an operational process for a mobile instant messaging service in accordance with the prior art. Messages are exchanged between a first user designated as IM Client1, a second user designated as IM Client2 and a server designated as IM Server that provides mobile instant messaging services to the first and second users. In the following description, the first and second users, IM Client1 and IM Client2, which generally correspond to client terminals, shall be referred to as users for convenience of explanation.
First, if the first user IM Client1 transmits a login request message, LoginReq, to the IM Server, the server decides whether first user IM Client1 is a valid user through a subscriber database. The IM Server then transmits a response message, LoginRes, which indicates that a normal login procedure has been handled, to the first user IM Client1. The first user IM Client1 then transmits after completion of any authentication a message, UpdatePresenceReq=online, to the IM Server for requesting current status information of any users who are using the current messaging service. The IM Server extracts presence status information from a presence database and then provides the extracted information to the first user IM Client1. For example, the provided presence status information may be the status information about a ‘friend’ enjoying an instant messenger with the first user IM Client1. The ‘friend’ term is generally used in the instant messenger to mean a called party that provides her/his access state, personal information and the like and allows chatting or data transactions.
Subsequently, the IM Server notifies the second user IM Client2 that the second user IM Client2 should recognize that the first user IM Client1 has logged in (PresenceNotificationRequst). The second user IM Client2 may then transmit a recognition result (status) to the IM Server. For example, the presence status information is changed from an offline mode to an online mode in the instant messenger of the second user IM Client2, that is currently accessing the IM Server.
If the first user IM Client1 is temporarily unable to use the instant messenger, a corresponding message, UpdatepresenceReq=NA, is transmitted to the IM Server from the first user IM Client1. The IM Server then sends a response (Status) to the first user IM Client 1 and transmits presence status information for the first user IM Client1 to the second user IM Client2. In doing so, the presence status information of the first user IM Client1 is switched to a busy or empty status instead of being switched to a conversation-enabled status.
On the other hand, if first user IM Client1 requests a logout using the LogoutReq message, the IM Server sends the LogoutRes message in response. Subsequently, the IM Server provides logout status information for the first user IM Client1 to the second user IM Client2. Hence, the presence status information of the first user IM Client1 is switched to an offline mode on the instant messenger of the second user IM Client2.
Despite, however, the fact that transmission of all the signals is smoothly carried out, there are substantial time gaps in the recognition of the presence status information. Namely, there exists status time gaps A to C. For instance, in case of the status time gap A, there exists a time gap between the time of sending the message of approving the login to the first user IM Client1 from the IM Server and the time of providing the second user IM Client2 with the login status information of the first user IM Client1. In case of the status time gaps B or C, the status time gap has a concept similar to that of the status time gap A. In general, it is difficult to substantially retain status information of a called party (registered to a friend list) due to packet loss, delayed delivery, timeout and the like due to the poor radio environment. Even if all the message transmissions between the first user IM Client1 as a status changer, the second user IM Client2 as a status observer and the IM Server are normally performed, there always exists a status time gap between the actual status of the first user IM Client1 and the status of the first user IM Client1 that is detected by the second user IM Client2.
Referring now to FIG. 4, an exemplary flowchart of an operational process in the case that an error occurs in an instant messaging server is illustrated. Specifically, FIG. 4 depicts a case where there is a loss of a data packet in the transmission between the second user IM Client2 and the IM Server. Due to the loss of the data packet, a status conflict problem in which the second user IM Client2 keeps recognizing previous presence status information values different from actual presence status information of a first user IM Client1 is created.
In similar manner, FIG. 5 illustrates the flow chart of an operational process in the case that an error occurs in the instant messenger due the first user IM Client 1 becoming disconnected from the IM Server due to a power loss or other reason.
In this case, as the session between the first user IM Client1 and the IM Server is disconnected, the first user IM Client 1 is unable to change its presence status information. This fact gives rise to a conflict problem as the second user IM Client 2 is unable to receive actual status information for the first user IM Client1.